/* 
** Copyright (C) 2006  sejishikong <sejishikong@263.net>
** Authors:    sejishikong <sejishikong@263.net>
**             Wei Lian <lianwei3@gmail.com> 
** Maintainer: Wei Lian
**    This program is free software; you can redistribute it and/or modify
**    it under the terms of the GNU General Public License Version 2 as
**    published by the Free Software Foundation;
**
**    This program is distributed in the hope that it will be useful,
**    but WITHOUT ANY WARRANTY; without even the implied warranty of
**    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**    GNU General Public License for more details.
**
**    You should have received a copy of the GNU General Public License
**    along with this program; if not, write to the Free Software
**    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
**
*/

#ifndef SOPFORK_H
#define SOPFORK_H

#include <qhbox.h>
class MyStatusBar;
class QProcess;
class QSocketNotifier;
class TabWidget;

class SopFork:public QHBox {
    Q_OBJECT			/// 
  public:
    SopFork(TabWidget * tw = 0, QWidget * parent = 0, const char *name =
	    0);
    ~SopFork();
    bool forkSop(QString, QString, QString type = "wmv");
    void killSop();
    char outport[8];
    QSocketNotifier *snstatus;
    QString channelurl;
    QString channelname;
    QString channeltype;
    QProcess *sop;

  protected:
     MyStatusBar * statusbar;
    TabWidget *tabwidget;

  private:
     QTimer * echotimer;

    protected slots:		////
     virtual void parseStdout();
    virtual void onSopExit();

    private slots:		////
    void streamReady(int);
    void echo();

};

#endif
